#pragma once
#include<iostream>
#include<assert.h>

using std::cout;
using std::endl;


typedef int DataType;

class Queue
{
public:
	Queue();
	void PushData(DataType x);
	void PushNext(Queue* x);
	void Print();
	DataType ReturnData();
	Queue* Exgange();

private:
	Queue* _next;
	DataType _data;
};

class Qu
{
public:
	Qu();
	void PushBack(DataType x);
	void PopBack();
	void PushFront(DataType x);
	void PopFront();
	void Print();
	Queue* Find(DataType x);
	~Qu();
private:
	Queue* _head;
	Queue* _tail;
};
